Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- PACKAGE CONTROL



  Learning Ruby and Ruby vs Lisp

The company I work for has a lot of legacy Ruby code, and as Ruby has become kind of a mainstream language, I decided to get a book about it and learn how it works. As my learning resource, I chose The Ruby Programming language by David Flanagan and Yukihiro Matsumoto as that receives great customer reviews, covers Ruby 1.8.7 and 1.9 and is authoritative because the language creator is one of the authors. The book makes a good read in general. There are plen...

   Ruby,Feature,Functional,OOP,Lisp,Difference     2011-12-12 07:42:01

  The Go Pointer Magic

Go is a language with the pointer type, by which we can Pass pointer into a function and update value in-place. Add methods to a struct as (* T) A, which is different from (T) A(). However, the pointer is type-safe in Go, meaning that there are such restrictions of the pointer. Different types of pointers are unconvertible. Pointer type cannot be used for calculation. Pointer types cannot be compared, either == nor !=. No mutual assignment between different pointer-...

   GOLANG,POINTER,UNSAFE     2021-10-03 02:18:57

  Amazon is a good company but doesn't have the best business model

Public opinion about a company is usually based on its performance. If it performs well, people will praise it, otherwise people will blame it. In 1999, Apple was still a broken apple(Steve Jobs's talent and effort was paid off yet). Public opinion about Apple was the closed model caused Apple's failure. They built hardware themselves, developed software themselves and delivered service themselves, this is certainly not sustainable. But Steve Jobs let everyone see this new model. In order to con...

   Business model,Amazon,Apple, Microsoft     2013-07-02 11:34:45

  Is Facebook News Feed copied from Google+?

According to Sina Tech, Facebook released its new News Feed this week. However, this design is considered to be copied from Google social network the Google+.Google senior vice president of technology infrastructure Urs Holzle said: "Proud to see +Mark Zuckerberg promote G+.  Imitation is the sincerest form of flattery!"Although technology companies will learn from each other's designs and there are not any effective ways to display pictures on the web and mobile devices, Facebook's ne...

   Facebook,News Feed,Google+     2013-03-10 04:37:18

  Writing API clients in Perl and Python

I recently released a couple of API clients for the Ge.tt file sharing service, one in Perl and one in Python. (I am just a fan of the service, not an employee or contractor.) I would judge myself an "intermediate" pythonista mostly due to inexperience. It's a culture shock coming from a background of CPAN. The old joke is that Perl is just a life support system for CPAN and that is arguably true, but I am here to tell you: you may not appreciate how good Perl hackers have it with respe...

   API,Perl,Python,API Writing,Pattern     2011-12-23 08:02:38

  Implement struct no copy in GoLang

There is some case where some of the struct in GoLang which is not meant to be copied. For example, sometimes a global configuration which should have only one version passed around the whole application and should not be copied and modified. In GoLang, there is no intuitive solution on preventing copying of struct. But there is still some way which can be leveraged to help prevent this while developing the code. The trick is to define some struct implementing sync.Locker interface and has this ...

   GO VET,NOCOPY,NO COPY     2020-09-04 22:24:58

  Use Delve to debug GoLang program

If you don't know how to debug program, you are not a real programmer. gdb can be used to debug go program, but according to golang website, delve is a better option.   Note that Delve is a better alternative to GDB when debugging Go programs built with the standard toolchain. It understands the Go runtime, data structures, and expressions better than GDB. Below is a simple go program. package main type Person struct { Name string Age int } func main() { var me Person me.Nam...

   GOLANG,DEBUG,DELVE     2018-11-09 23:28:43

  Finding selected checkbox items in a JSF dataTable

This is one of those problems that I couldn’t find a complete example for when I needed it, so hopefully this will save somebody else the extra time it took me to piece it together. We frequently need to have data tables in our UI, and allow the user to select a subset of those items for action. In JavaServer Faces, this means having a DataTable, each row having its own checkbox. But when the action is triggered, how to we find which items the user has selected. The first step is to ...

   JavaServer Faces,JSF,Datatable,Checkbox,Example     2012-01-03 03:02:46

  Sales of phones with NFC capability increased by 300% in 2012

According to Sina Tech, Research firm Berg Insight latest report shows that the global NFC smartphone sales increased by 300% to 140 million units in 2012.The report said that the compound annual growth rate of NFC smartphones sales will reach 48.2% in next few years, and in 2017 the number of smartphones sold will reach 1 billion units.NFC is widely used in mobile phones began in 2011, In 2012, the top ten mobile phone manufacturers launched nearly 100 models of NFC mobile phones. In addition t...

   NFC,Apple,2012     2013-06-20 08:51:09

  Understand diff in Unix

diff is an important tool program in Unix. It is used to compare differences of two files, it is the foundation for code version control. If you type : $ diff <file_before_change> <file_after_change> diff will tell you what's the difference between these two files. The result may not be so easy to understand, so now I will show you how to understand diff. 1. 3 formats of diff diff has 3 formats due to historic reasons. normal diff context diff unified diff 2. Demo files For easy d...

   diff,Unix,version control,git     2012-09-03 10:49:36